package br.com.leopard.erp.gym.dao.empresa;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.Query;

import br.com.leopard.erp.gym.exception.NenhumResultadoEncontradoException;
import br.com.leopard.erp.gym.mapeamento.base_sistema.Perfil;
import br.com.leopard.erp.gym.mapeamento.empresa.Empresa;
import br.com.leopard.erp.gym.mapeamento.empresa.EmpresaPerfil;
import br.com.leopard.erp.gym.persistence.AbstractDAO;
import br.com.leopard.erp.gym.persistence.ParametroQueryBuilder;

@Stateless
@LocalBean
public class EmpresaPerfilDAO extends AbstractDAO<EmpresaPerfil, Long> {

	public EmpresaPerfilDAO() {
		super(EmpresaPerfil.class);
	}

	public void inativarPerfilDeEmpresa(Empresa empresa) {
		String namedQuery = "EmpresaPerfil.inativarTodosPerfisDeEmpresa";

		Query query = super.entityManager.createNamedQuery(namedQuery);

		query.setParameter("empresa", empresa);

		query.executeUpdate();
	}

	public EmpresaPerfil getByEmpresaEPerfil(Empresa empresa, Perfil perfil) throws NenhumResultadoEncontradoException {
		String query = "EmpresaPerfil.findByEmpresaEPerfil";

		ParametroQueryBuilder builder = new ParametroQueryBuilder();
		builder.addParametro("empresa", empresa);
		builder.addParametro("perfil", perfil);

		return super.getSingleObject(query, builder.getParametros());
	}
}
